﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;
using System.Data.SqlClient;
using System.Data;
using System.Reflection;
using TrainigWorkshop.Model;

namespace TrainigWorkshop.DAL
{

    //public class StudentDAL
    //{

    //    public static string connectionString = ConfigurationManager.ConnectionStrings["SQLConnectionString"].ToString();

    //    //display all student information
    //    public  List<Result> GetStudentALLInfo ()
    //    {
    //        List<Result> result = new List<Result>();
    //        DataSet ds = new DataSet();
    //        using (SqlConnection conn = new SqlConnection(connectionString))
    //        {
    //            try
    //            {
    //                conn.Open();
    //                SqlCommand comm = new SqlCommand("select StudentId,StudentName,StudentGender,ClassName from Student,Class  where Student.ClassId=Class.ClassId", conn);
    //                comm.CommandType = CommandType.Text;
    //                SqlDataAdapter da = new SqlDataAdapter(comm);
    //                da.Fill(ds, "result");
    //                foreach (DataRow row in ds.Tables[0].Rows)
    //                {
    //                    Result re = new Result
    //                    {
    //                        StudentId = Convert.ToInt32(row[0]),
    //                        StudentName = row[1].ToString().Trim(),
    //                        StudentGender = row[2].ToString().Trim(),
    //                        ClassName = row[3].ToString().Trim()

    //                    };
    //                    result.Add(re);
                        
    //                }
    //            }
    //            catch (SqlException ex)
    //            {
    //                throw ex;
    //            }
    //            return result;
    //        }
    //    }
  

    //    //bind dropdowlist:ClassName,ClassId
    //    public List<Class> GetClassInfo()
    //    {
    //        List<Class> result = new List<Class>();
    //        using (SqlConnection conn = new SqlConnection(connectionString))
    //        {
    //            try
    //            {
    //                string SQL = "select ClassID,ClassName from dbo.Class";
    //                conn.Open();
    //                SqlCommand cmd = new SqlCommand();
    //                cmd.Connection = conn;
    //                cmd.CommandType = CommandType.Text;
    //                cmd.CommandText = SQL;
    //                SqlDataAdapter da = new SqlDataAdapter(cmd);
    //                DataSet ds = new DataSet();
    //                da.Fill(ds,"table");
    //                foreach (DataRow row in ds.Tables[0].Rows)
    //                {
    //                    Class re = new Class
    //                    {
    //                        ClassId = Convert.ToInt32(row[0]),
    //                        ClassName = row[1].ToString().Trim()

    //                    };
    //                    result.Add(re);

    //                }
    //            }
    //            catch (Exception ex)
    //            {
    //                throw ex;
    //            }
    //            return result;
    //        }

    //    }

    //    //insert student information
    //    public void InsertStudentInfo(Student student)
    //    {
    //        using (SqlConnection conn = new SqlConnection(connectionString))
    //        {
    //            try
    //            {
    //                conn.Open();
    //                string SQL = "insert into Student(StudentName,StudentGender,ClassId) values(@StudentName,@StudentGender,@classId)";
    //                SqlCommand cmd = new SqlCommand(SQL, conn);
    //                cmd.CommandType = CommandType.Text;
    //                SqlParameter[] paras = new SqlParameter[]
    //                {
    //                  new SqlParameter("StudentName", student.StudentName),
    //                  new SqlParameter("StudentGender", student.StudentGender), 
    //                  new SqlParameter("classId", student.ClassId) 
    //                };
    //                cmd.Parameters.AddRange(paras);

    //                cmd.ExecuteNonQuery();
    //            }
    //            catch (SqlException ex)
    //            {
    //                throw ex;
    //            }
    //        }
    //    }

    //    //update student information
    //    public void UpdateStudentInfo(Student student)
    //    {
    //        using (SqlConnection conn = new SqlConnection(connectionString))
    //        {
    //            try
    //            {
    //                conn.Open();
    //                string SQL = "update Student set  StudentName=@StudentName,StudentGender=@StudentGender, ClassId=@classId where StudentId=@StudentId";
    //                SqlCommand cmd = new SqlCommand(SQL, conn);
    //                cmd.CommandType = CommandType.Text;
    //                SqlParameter[] paras = new SqlParameter[]
    //                {
    //                  new SqlParameter("@StudentId",student.StudentId),
    //                  new SqlParameter("@StudentName", student.StudentName),
    //                  new SqlParameter("@StudentGender", student.StudentGender), 
    //                  new SqlParameter("@classId", student.ClassId)
    //                };
    //                cmd.Parameters.AddRange(paras);

    //                cmd.ExecuteNonQuery();
    //            }
    //            catch (SqlException ex)
    //            {
    //                throw ex;
    //            }
    //        }
    //    }

    //    //delete syudent information
    //    public void DeleteStudentInfo(Student student)
    //    {
    //        using (SqlConnection conn = new SqlConnection(connectionString))
    //        {
    //            try
    //            {
    //                conn.Open();
    //                string SQL = "delete from Student where StudentId=@StudentId";
    //                SqlCommand cmd = new SqlCommand(SQL, conn);
    //                cmd.CommandType = CommandType.Text;

    //                cmd.Parameters.Add(new SqlParameter("@StudentId", student.StudentId));

    //                cmd.ExecuteNonQuery();
    //            }
    //            catch (SqlException ex)
    //            {
    //                throw ex;
    //            }
    //        }
    //    }

    //    //Bind update page's value
    //    public Student GetStudentInfoById(Student student)
    //    {
    //        using (SqlConnection conn = new SqlConnection(connectionString))
    //        {

    //            try
    //            {
    //                // set value
    //                string SQL = "select StudentId,StudentName,StudentGender,ClassId from Student  where StudentId = @StudentId";
    //                conn.Open();
    //                SqlCommand cmd = new SqlCommand();
    //                cmd.Connection = conn;
    //                cmd.CommandType = CommandType.Text;
    //                cmd.CommandText = SQL;
    //                cmd.Parameters.Add(new SqlParameter("@StudentId",student.StudentId));

    //                SqlDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
    //                reader.Read();

    //                //get value
    //                student.StudentId = reader.GetInt32(0);
    //                student.StudentName = reader.GetString(1);
    //                student.StudentGender = reader.GetString(2);
    //                student.ClassId = reader.GetInt32(3);
    //                reader.Close();
    //                return student;
    //            }
    //            catch (Exception ex)
    //            {
    //                throw ex;
    //            }
    //        }
    //    }

    //}
}